#!/usr/bin/python

import ply.lex as lex

tokens = ('PALABRA', 'NUMERO', 'NUMERO_REAL', 'IP', 'MAIL', 'FECHA', 'BLANCO', 'SEPARADOR',)

#t_PALABRA = r'([A-Za-z]+)'
t_PALABRA = r'([A-Za-z_]+)'
t_NUMERO = r'[0-9]+'
t_IP = r'[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'
t_MAIL = r'[A-Za-z|\_|\.][A-Za-z|\_|\.]*\@[a-zA-Z][a-zA-Z|\_]*\.[a-zA-Z][a-zA-Z]*'
t_FECHA = r'[0-9][0-9]*\-[0-9][0-9]*\-[0-9][0-9]*|[0-9][0-9]*\/[0-9][0-9]*\/[0-9][0-9]*'
t_NUMERO_REAL = r'[0-9]+\.[0-9]+|[0-9]+\,[0-9]+'
t_BLANCO = r'\s'
t_SEPARADOR = r'\?|\*|\+|\||\(|\)|\^|\$|\\|\;|\.|\=|\<|\>|\[|\]|\{|\}|\/|\"|\&|\:|\!|\%|\@|\_|\`|\,|\~|\-|\xc2|\xc3|\''

t_ignore  = ' \t'

def t_error(t):
    #print "Illegal character '%s'" % t.value[0]
    t.lexer.skip(1)

def cargarAnalizador(texto):
	lexer = lex.lex()
	lexer.input(texto)

def obtenerPalabras():
	l = []
	while True:
		tok = lex.token()
		if not tok: break
		if tok.type == 'PALABRA':
			l.append(tok.value)
	return l


def obtenerNumeros():
	l = []
	while True:
		tok = lex.token()
		if not tok: break
		if tok.type == 'NUMERO':
			l.append(tok.value)
	return l

def obtenerToken():
	return lex.token()

